Affinity API: affinity
The Affinity API retrieves a customer’s affinity scores for top brands, categories, and other product attributes. This API is useful for understanding customer preferences based on past purchases and interactions.
API Endpoint and Method
URL Format
https://{B2B_API_URL}/api/v1/profile/b2b/affinity
Example URL
https://api-dev.algonomy.com/rcdpapi/api/v1/profile/b2b/affinity
HTTP Method
POST
Request Header Parameters
Parameter |
Type | Required or Optional |
Description |
---|---|---|---|
access_token |
String |
Required |
Specifies the access token obtained from the create access token API. |
tenant_hash |
String |
Required |
Specifies the tenant hash shared with the tenant. |
gcrId | String | Required | Specifies the Golden Customer Record ID (GCR ID). |
mobile_number | String | Required |
Specifies customer's mobile number. Example: "1212121212" |
email_address | String | Required |
Specifies customer's email address. Example: "customer@example.com" |
customer_code_external |
String |
Required |
Specifies the external customer code. Example: "123456" |
- Notes:
-
You can send all the parameters (gcrId, mobile_number, and email_address) with the request or just one, as at least one parameter is required.
-
These parameters are supported based on the configuration. If your deployment is configured to use them as columns for deduplication, they will be available for use in the API call.
Request Body
Only required for pagination. You can include parameters such as pageSize to define the number of records returned per page.
{
“pageSize”:1
}
Response Body
A successful request returns a "200-OK" status code, accompanied by the retrieved data in the response.
{
"status": "OK",
"message": "",
"data": {
"customerId": 2056,
"totalCount": 2,
"currentPage": 1,
"pageSize": 20,
"totalPages": 1,
"dataList": [
{
"chartTitle": "Top 2 sizes",
"yAxisLabel": "Affinity score",
"xAxisLabel": "Brands",
"chartData": [
{
"label": "Venezuela",
"value": 290
},
{
"label": "Saudi",
"value": 260
}
]
},
{
"chartTitle": "Top 3 categories",
"yAxisLabel": "Affinity score",
"xAxisLabel": "Categories",
"chartData": [
{
"label": "Venezuela",
"value": 290.2345
},
{
"label": "Saudi",
"value": 260.4456
},
{
"label": "Canada",
"value": 180
}
]
}
],
"data": null
}
}